package app.itgungnir.compose.wan.theme

import androidx.compose.ui.graphics.Color

sealed class Palette(
    val lightPrimaryColor: Color,
    val darkPrimaryColor: Color,
    val primaryVariantColor: Color,
    val lightSecondaryColor: Color,
    val darkSecondaryColor: Color
)

object RedPalette : Palette(
    lightPrimaryColor = Color(0xFFD90B0B),
    darkPrimaryColor = Color(0xFFFF5252),
    primaryVariantColor = Color(0xFFB71C1C),
    lightSecondaryColor = Color(0xFFFFAB40),
    darkSecondaryColor = Color(0xFFE65100)
)

object PinkPalette : Palette(
    lightPrimaryColor = Color(0xFFBB0C6F),
    darkPrimaryColor = Color(0xFFFF4081),
    primaryVariantColor = Color(0xFF880E4F),
    lightSecondaryColor = Color(0xFFEA80FC),
    darkSecondaryColor = Color(0xFFB388FF)
)

object PurplePalette : Palette(
    lightPrimaryColor = Color(0xFF6A1B9A),
    darkPrimaryColor = Color(0xFF7B1FA2),
    primaryVariantColor = Color(0xFF4A148C),
    lightSecondaryColor = Color(0xFF03DAC6),
    darkSecondaryColor = Color(0xFF018786)
)

object BluePalette : Palette(
    lightPrimaryColor = Color(0xFF1565C0),
    darkPrimaryColor = Color(0xFF1976D2),
    primaryVariantColor = Color(0xFF0D47A1),
    lightSecondaryColor = Color(0xFF00BFA5),
    darkSecondaryColor = Color(0xFF00796B)
)

object CyanPalette : Palette(
    lightPrimaryColor = Color(0xFF00838F),
    darkPrimaryColor = Color(0xFF00838F),
    primaryVariantColor = Color(0xFF006064),
    lightSecondaryColor = Color(0xFF43A047),
    darkSecondaryColor = Color(0xFF558B2F)
)

object TealPalette : Palette(
    lightPrimaryColor = Color(0xFF008A7C),
    darkPrimaryColor = Color(0xFF00695C),
    primaryVariantColor = Color(0xFF00584B),
    lightSecondaryColor = Color(0xFFAFB42B),
    darkSecondaryColor = Color(0xFFAFB42B)
)

object GreenPalette : Palette(
    lightPrimaryColor = Color(0xFF2E8E32),
    darkPrimaryColor = Color(0xFF00E676),
    primaryVariantColor = Color(0xFF1B4D20),
    lightSecondaryColor = Color(0xFF00B8D4),
    darkSecondaryColor = Color(0xFF0097A7)
)

object LimePalette : Palette(
    lightPrimaryColor = Color(0xFF9E9D24),
    darkPrimaryColor = Color(0xFF938804),
    primaryVariantColor = Color(0xFF827717),
    lightSecondaryColor = Color(0xFFFF9100),
    darkSecondaryColor = Color(0xFFE65100)
)

object OrangePalette : Palette(
    lightPrimaryColor = Color(0xFFEF6C00),
    darkPrimaryColor = Color(0xFFEF6C00),
    primaryVariantColor = Color(0xFFBF360C),
    lightSecondaryColor = Color(0xFFFF8A80),
    darkSecondaryColor = Color(0xFFC62828)
)

object BrownPalette : Palette(
    lightPrimaryColor = Color(0xFF795548),
    darkPrimaryColor = Color(0xFF6D4C41),
    primaryVariantColor = Color(0xFF4E342E),
    lightSecondaryColor = Color(0xFF90A4AE),
    darkSecondaryColor = Color(0xFF455A64)
)

val paletteColors = listOf(
    RedPalette,
    PinkPalette,
    PurplePalette,
    BluePalette,
    CyanPalette,
    TealPalette,
    GreenPalette,
    LimePalette,
    OrangePalette,
    BrownPalette
)
